package com.itheima.作业.BuliderJoiner;

import java.util.StringJoiner;

/**
 * ## 掌握Java中StringBuilder，StringJoiner，System的使用
 * **需求背景：**课程中已明确String拼接字符串，效率要远低于StringBuilder，那么StringJoiner也可以完成字符串拼接，那么StringBuilder和StringJoiner的效率如何，请编写程序验证。
 * **需求描述**：分别使用StringBuilder和StringJoiner拼接100万个数字，并使用System统计他们各自运算时间。
 * **实现提示**：
 * 1. 定义测试类，在类中定义两个方法，分别统计两个类拼接字符串的时间。
 * 2. 方法中，在循环开始之前和循环结束之后，分别使用System.currentTimeMillis()获取时间，再相减获得结果。
 * 3. 最后在main方法中调用方法，打印两个方法的运行结果。
 */
public class Test {
    public static void main(String[] args) {

        testStringBuilder();
        testStringJoiner();
    }
    private static void testStringBuilder(){
        long start = System.currentTimeMillis();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 1000; i++) {
            sb.append("我是");
        }
        System.out.println(sb.toString());//
        long end = System.currentTimeMillis();
        System.out.println("StringBuilder拼接字符串耗时："+(end-start)+"毫秒");
    }
    private static void testStringJoiner(){
        long start = System.currentTimeMillis();
        StringJoiner sj = new StringJoiner(",");
        for (int i = 0; i < 1000; i++)
            sj.add(i+"ikun");
        System.out.println(sj.toString());//
        long end = System.currentTimeMillis();
        System.out.println("StringJoiner拼接字符串耗时："+(end-start)+"毫秒");
    }
}
